package com.xbongbong.saas.model;

import com.xbongbong.paas.toolbox.wrap.IModel;
import com.xbongbong.pro.workreportset.pojo.WorkReportSetVisibleRange;
import com.xbongbong.saas.domain.entity.WorkReportSetEntity;
import com.xbongbong.sys.domain.entity.UserEntity;

import java.util.List;

/**
 * @author youli.chen
 * @ProjectName xbb-pro
 * @Description: 工作报告设置Model
 * @date 2019/1/17 9:55
 */
public interface WorkReportSetModel extends IModel<WorkReportSetEntity> {

    /**
     * 根据ID删除工作报告设置
     * @param key
     * @param corpid
     * @return
     */
    Integer deleteByKey(Long key, String corpid);

    /**
     * 根据ID获取工作报告设置详情
     * @param key
     * @param corpid
     * @return
     */
    WorkReportSetEntity getByKey(Long key, String corpid);

    /**
     * 根据工作报告类型
     * @param type 工作报告类型
     * @param corpid 公司id
     * @return
     */
    WorkReportSetEntity getByType(Integer type, String corpid);

    /**
     * 根据idIn删除工作报告设置
     *
     * @param idIn 报告设置idIn
     * @param corpid 公司id
     * @return
     */
    Integer deleteByIdIn(List<Long> idIn, String corpid);

    /**
     * 得到所有的corpid
     * @return
     */
    List<String> getCorpidList();


    WorkReportSetVisibleRange getVisibleRange(UserEntity userEntity);
}
